package gui;


import com.framework.gui.EditorPanel;
import com.framework.gui.GuiUtilities;

import java.awt.Dimension;
import javax.swing.JLabel;
import java.awt.Rectangle;
import javax.swing.JTextField;
import java.awt.Font;
import javax.swing.JButton;

import vo.Camion;

public class CamionEditorPanel extends EditorPanel {

	private Camion camion;  //  @jve:decl-index=0:
	private JLabel matriculajLabel = null;
	private JLabel marcajLabel = null;
	private JLabel modelojLabel = null;
	private JTextField matriculajTextField = null;
	private JTextField marcajTextField = null;
	private JTextField modelojTextField = null;
	private JButton submitjButton = null;
	private JButton limpiarjButton = null;

	/**
	 * This method initializes 
	 * 
	 */
	public CamionEditorPanel() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 */
	private void initialize() {
        modelojLabel = new JLabel();
        modelojLabel.setBounds(new Rectangle(29, 93, 84, 18));
        modelojLabel.setText("Modelo");
        marcajLabel = new JLabel();
        marcajLabel.setBounds(new Rectangle(29, 62, 84, 18));
        marcajLabel.setText("Marca");
        matriculajLabel = new JLabel();
        matriculajLabel.setBounds(new Rectangle(29, 31, 84, 18));
        matriculajLabel.setText("Matricula");
        this.setLayout(null);
        this.setSize(new Dimension(417, 239));
        this.add(matriculajLabel, null);
        this.add(marcajLabel, null);
        this.add(modelojLabel, null);
        this.add(getMatriculajTextField(), null);
        this.add(getMarcajTextField(), null);
        this.add(getModelojTextField(), null);
        this.add(getSubmitjButton(), null);
        this.add(getLimpiarjButton(), null);
			
	}

	/**
	 * This method initializes matriculajTextField	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getMatriculajTextField() {
		if (matriculajTextField == null) {
			matriculajTextField = new JTextField();
			matriculajTextField.setBounds(new Rectangle(110, 31, 120, 18));
			matriculajTextField.setFont(new Font("Dialog", Font.PLAIN, 10));
		}
		return matriculajTextField;
	}

	/**
	 * This method initializes marcajTextField	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getMarcajTextField() {
		if (marcajTextField == null) {
			marcajTextField = new JTextField();
			marcajTextField.setBounds(new Rectangle(110, 62, 120, 18));
			marcajTextField.setFont(new Font("Dialog", Font.PLAIN, 10));
		}
		return marcajTextField;
	}

	/**
	 * This method initializes modelojTextField	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getModelojTextField() {
		if (modelojTextField == null) {
			modelojTextField = new JTextField();
			modelojTextField.setBounds(new Rectangle(110, 93, 120, 18));
			modelojTextField.setFont(new Font("Dialog", Font.PLAIN, 10));
		}
		return modelojTextField;
	}

	/**
	 * This method initializes submitjButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getSubmitjButton() {
		if (submitjButton == null) {
			submitjButton = new JButton();
			submitjButton.setBounds(new Rectangle(110, 120, 97, 29));
			submitjButton.setText("Ingresar");
			submitjButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					//Chequeo que todos los campos vengan completos, no puede estar ninguno vacio
					if (matriculajTextField == null ||  matriculajTextField.getText().trim().equals("")){
						GuiUtilities.showError(getParent(), "La matricula no puede estar vacia");
						matriculajTextField.grabFocus();
					}
					if (marcajTextField == null ||  marcajTextField.getText().trim().equals("")){
						GuiUtilities.showError(getParent(), "La marca no puede estar vacia");
						marcajTextField.grabFocus();
					}
					if (modelojTextField == null ||  modelojTextField.getText().trim().equals("")){
						GuiUtilities.showError(getParent(), "El modelo no puede estar vacio");
						modelojTextField.grabFocus();
					}
					
					
						
				}
			});
		}
		return submitjButton;
	}

	/**
	 * This method initializes limpiarjButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getLimpiarjButton() {
		if (limpiarjButton == null) {
			limpiarjButton = new JButton();
			limpiarjButton.setBounds(new Rectangle(220, 120, 97, 29));
			limpiarjButton.setText("Limpiar");
			limpiarjButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					matriculajTextField.setText("");
					marcajTextField.setText("");
					modelojTextField.setText("");
				}
			});
		}
		return limpiarjButton;
	}
	
	public void setCamion(Camion c) {
		this.camion = new Camion();
		
		//Chequeo si viene para editar, de ser verdadero, cargo los datos del camion.
		if(getMode() == EditorPanel.EDIT_MODE){
			camion.setMarca(c.getMarca());
			camion.setModelo(c.getModelo());
			camion.setMatricula(c.getMatricula());
		}
		
		matriculajTextField.setText(camion.getMatricula());
		marcajTextField.setText(camion.getMarca());
		modelojTextField.setText(camion.getModelo());
		
		/** Como no entiendo que estoy haciendo, lo comento, AVERIGUAR!!
		if (getMode() == EditorPanel.EDIT_MODE){
			matriculajTextField.setEditable(false);
			modelojTextField.requestFocus();
			marcaj
		}else{
			NombreTxtField.setEditable(true);
			NombreTxtField.requestFocus();
		}*/
	}

}  //  @jve:decl-index=0:visual-constraint="25,42"
